package com.projet.glb2r.Activite;



import java.util.ArrayList;
import java.util.List;

import com.projet.glb2r.R;
import com.projet.glb2r.DAO.DAOProduit;
import com.projet.glb2r.DAO.DAOProduitsFactures;
import com.projet.glb2r.Objet.ObjetProduit;
import com.projet.glb2r.Objet.ObjetProduitAdapter;
import com.projet.glb2r.Objet.ObjetProduitsFactures;
import com.projet.glb2r.R.id;
import com.projet.glb2r.R.layout;
import com.projet.glb2r.R.menu;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

public class ActiviteListProduit extends Activity{

		private Dialog d;
		public ObjetProduitsFactures produitsfactures = new ObjetProduitsFactures();
		public static ArrayList<ObjetProduit> iproduitsfactures = new ArrayList<ObjetProduit>();
		private DAOProduitsFactures produitfactureDAO = new DAOProduitsFactures();
		public DAOProduit produitDAO = new DAOProduit();
		private ObjetProduit produit = new ObjetProduit();
		private ListView listeViewProduit;
		private ObjetProduitAdapter adapter;
		private final String description = "produit";

		
		@Override
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.list_produit);
			
						ActiviteCreationFacture.listeProduits = produitsfactures;
						
			
			listeViewProduit = (ListView) findViewById(R.id.listeproduit);
			adapter = new ObjetProduitAdapter(this, produitDAO.getAllProduit(description,getContentResolver()), description);
			
			listeViewProduit.setAdapter(adapter);
			registerForContextMenu(listeViewProduit);
			for(int i=0; i<iproduitsfactures.size(); i++){
				produitsfactures.ajouterProduit(iproduitsfactures.get(i));
			}
		}

		
				
		private void updateAdapter() {
			adapter.setProduit(produitDAO.getAllProduit(description, getContentResolver()));
			adapter.notifyDataSetChanged();
		}
				
		public void UpdateChecked(ObjetProduit produit) {
			if(produit.isAchete())
				produitsfactures.ajouterProduit(produit);
			else
				produitsfactures.supprimerProduit(produit);
		}
		
		public void DeleteItem(int id) {
			//produitRepository.Delete(id);
			produitDAO.deleteProduitAvecID(id, getContentResolver());
		}
		
		@Override
		public void onCreateContextMenu(ContextMenu menu, View v,
				ContextMenuInfo menuInfo) {
			super.onCreateContextMenu(menu, v, menuInfo);
			getMenuInflater().inflate(R.menu.menu_suprimer, menu);
		}
		
		@Override
		public boolean onCreateOptionsMenu(Menu menu) {
			super.onCreateOptionsMenu (menu);
			MenuInflater awesome = getMenuInflater();
			awesome.inflate(R.menu.options_menuproduit, menu);
			return true;
		}
	
		@Override
		public boolean onOptionsItemSelected(MenuItem item) {
			AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
					.getMenuInfo();

			switch (item.getItemId()) {
			case R.id.itemDelete:
				DeleteItem((int) info.id);
				updateAdapter();
				return true;

			case R.id.itemModifier:
				produit = produitDAO.getProduit(getContentResolver(), " rowid =?", new String[]{""+info.id});
				ActiviteModifierProduit.produit = produit;
				Intent intention = new Intent("android.intent.action.ActiviteModifierProduit");
				startActivity(intention);
				
			default:
				return super.onContextItemSelected(item);
			}
		}

		@Override
		public boolean onContextItemSelected(MenuItem item) {
			AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
					.getMenuInfo();
			
			switch (item.getItemId()) {
			case R.id.itemDelete:
				DeleteItem((int) info.id);
				updateAdapter();
				return true;

			case R.id.itemModifier:
				produit = produitDAO.getProduit(getContentResolver(), " rowid =?", new String[]{""+info.id});
				ActiviteModifierProduit.produit = produit;
				Intent intention2 = new Intent("android.intent.action.ActiviteModifierProduit");
				startActivity(intention2);
				
			default:
				return super.onContextItemSelected(item);
			}
		}

		public void onClick(View v) {
		}
		

}





